package com.cysyz.mylib.utils.xsvmaker;

import com.cysyz.mylib.utils.xsvmaker.impl.CollectionValueGetter;

import java.util.Collection;

/**
 * 生成各种特殊符号分割的字符串工具
 */
public interface XsvMaker {
    /**
     * 在分隔符后面追加字符串
     * @param value 要追加的字符串
     * @return  this
     */
    public abstract XsvMaker append(String value);

    <T>XsvMaker collectionToXsv(Class<T> clazz, Collection<T> collection, CollectionValueGetter<T> collectionValueGetter);

    /**
     * 取得最终的结果
     * @return 被指定分隔符分割的字符串
     */
    public abstract String getResult();

}